Distributed network and security operations platform

ABSTRACT

A distributed network and security operations platform is disclosed. The disclosed platform comprises an external service that facilitates network and security operations for a private network. Data from nodes of the private network is received and analyzed by the service, and an output is automatically generated by the service in response to analyzing received data that facilitates modifying the routing performed by at least one or more of the nodes of the private network.

CROSS REFERENCE TO OTHER APPLICATIONS

This application claims priority to U.S. Provisional Patent ApplicationNo. 62/751,437 entitled NETWORK OPERATIONS PLATFORM filed Oct. 26, 2018which is incorporated herein by reference for all purposes.

BACKGROUND OF THE INVENTION

Existing architectures for network operations and security operations ofprivate networks have suffered substantial scalability setbacks due tohaving limited computational resources while facing more complex andever increasing amounts of traffic, encryption, storage, rulesets, etc.Thus, an improved network and security operations service is needed.

BRIEF DESCRIPTION OF THE DRAWINGS

Various embodiments of the invention are disclosed in the followingdetailed description and the accompanying drawings.

FIG. 1 is a high level block diagram illustrating an embodiment of anarchitecture of the disclosed network and security operations platform.

FIG. 2 is a high level flow chart illustrating an embodiment of aprocess for automatically generating a network and/or security responsefor a monitored private network from an external service.

FIG. 3 is a high level flow chart illustrating an embodiment of aprocess for automatically generating a security response for a monitoredprivate network from an external service.

FIG. 4 is a high level block diagram illustrating an embodiment ofinterfacing the disclosed network and security operations platform witha team messaging service.

FIG. 5 illustrates example collaborative command line interfaceinteractions in a channel.

FIG. 6 is a high level flow chart illustrating an embodiment of aprocess for integrating or interfacing a prescribed service employed byan entity in a collaboration service channel associated with the entity.

DETAILED DESCRIPTION

The invention can be implemented in numerous ways, including as aprocess; an apparatus; a system; a composition of matter; a computerprogram product embodied on a computer readable storage medium; and/or aprocessor, such as a processor configured to execute instructions storedon and/or provided by a memory coupled to the processor. In thisspecification, these implementations, or any other form that theinvention may take, may be referred to as techniques. In general, theorder of the steps of disclosed processes may be altered within thescope of the invention. Unless stated otherwise, a component such as aprocessor or a memory described as being configured to perform a taskmay be implemented as a general component that is temporarily configuredto perform the task at a given time or a specific component that ismanufactured to perform the task. As used herein, the term ‘processor’refers to one or more devices, circuits, and/or processing coresconfigured to process data, such as computer program instructions.

A detailed description of one or more embodiments of the invention isprovided below along with accompanying figures that illustrate theprinciples of the invention. The invention is described in connectionwith such embodiments, but the invention is not limited to anyembodiment. The scope of the invention is limited only by the claims,and the invention encompasses numerous alternatives, modifications, andequivalents. Numerous specific details are set forth in the followingdescription in order to provide a thorough understanding of theinvention. These details are provided for the purpose of example, andthe invention may be practiced according to the claims without some orall of these specific details. For the purpose of clarity, technicalmaterial that is known in the technical fields related to the inventionhas not been described in detail so that the invention is notunnecessarily obscured.

Network and security operations are essential for any complex networkingenvironment deployed by an enterprise or organization. A network istypically managed by a network operations center (NOC) via which networkmonitoring and control are facilitated. Security of a network istypically provided by a security operations center (SOC) via whichdetection, containment, and remediation of threats and attacks to thenetwork are facilitated. Thus, network and security operations havetraditionally been segregated. More recently, there exists an ongoingeffort of bringing NOCs and SOCs closer together and leveraging thebenefits of combining network and security operations.

A fusion network and security operations platform uniting networkoperations and security operations is disclosed herein. The disclosedplatform comprises an out-of-band, cloud-based service that can be usedon any network as a software as a service (SaaS). In some embodiments,the disclosed platform comprises a distributed intrusion detection andprevention system that is complementary to any existing securitydeployments on a monitored network. The network and security operationsplatform leverages the relatively unlimited computational power of thecloud to provide an additional layer of control and security to amonitored network, which by itself is limited in computational resourcesavailable for network and security operations. A monitored network maybe dynamically and automatically optimized and secured, with or withouthuman operator direction or intervention, based on remote monitoring andanalysis. Moreover, remote tools associated with the service provideunprecedented monitoring and visualization of the monitored network.

As further described in detail herein, the disclosed platform collectsreal-time data from a monitored network in a decentralized cloud servicewhere the collected data is analyzed according to a set of one or moreproprietary system and/or user-definable custom algorithms. Alerts oractions against any network or security events detected in the analyzeddata of the monitored network are automatically provided and/orperformed in nearly real-time, for example, via an associated portalhaving a dashboard with user interface gauges and tools that providesituational awareness of the monitored network, via integration of anassociated application programming interface (API) with existing networkor security operations tools of the monitored network, and/or viaappropriate adjustment of network routing policies by communication withnetwork edge devices such as routers, switches, and cloud services.

FIG. 1 is a high level block diagram illustrating an embodiment of anarchitecture of the disclosed network and security operations platform.Generally, network and security operations platform 100 may be employedto automatically defend monitored network 102 from threats and attacks,manage and optimize monitored network 102, and keep operators 103 ofmonitored network 102 informed of the current state of the network andnodes thereof, all in nearly real-time.

In some embodiments, network and security operations platform 100 isemployed to provide an additional layer of security to monitored network102 beyond any existing security measures already deployed in thenetwork, such as firewalls and access-control lists (ACLs) on edge orborder devices of the network. Network and security operations platform100 may be employed to detect threats and attacks, anomalous usagebehaviors, unusual protocols, dangerous networks, etc. Some examples ofsecurity events that may be handled by network and security operationsplatform 100 include distributed denial-of-service (DDoS) attacks, botsand botnets, unauthorized data extraction, port scans, enumerationattempts, and repeated login attempts. Some examples of securityservices provided by network and security operations platform 100include cyber forensics, DDoS defenses, attack surface protection,access control list (ACL) management, active Internet Protocol (IP)reputation monitoring, data loss prevention (DLP), andremotely-triggered black hole (RTBH) routing.

Network and security operations platform 100, however, is not limited todetecting and responding to security events and providing securityservices but may also be employed to detect and respond to networkoperations events and provide network operations services with respectto monitored network 102. For example, network and security operationsplatform 100 may be employed to manage network resources andinfrastructure, detect network saturation points, modify or optimizeroutes, ensure quality of service (QoS), manage bandwidth, facilitatebilling services, etc.

Although a few components of network and security operations platform100 are illustrated in FIG. 1 to describe the architecture of theplatform, network and security operations platform 100 may generallyhave any appropriate types, numbers, and combinations of distributed andnetworked components. For example, although not depicted in FIG. 1,network and security operations platform 100 comprises a plurality ofprocessing cores and associated memories. Various features of thedisclosed network and security operations platform 100 are nextdescribed with respect to the network environment illustrated in FIG. 1.

In the example of FIG. 1, monitored network 102 comprises a private,enterprise network. Enterprise network 102 has an edge or border 104defined by the physical devices and virtual services that collectivelyform the edge or border of the network. In the past, a network edge orborder was typically constrained to devices such as routers and switchesthat were deployed in a controlled, private network environment. Asnetworks have evolved, the network edge or border has also substantiallyspread across a plurality of external, third-party providers, such asproviders of virtual private cloud (VPC) services. Thus, networkperimeters have virtually disappeared, and borders have become fracturedand decentralized.

By collecting and combining data both from physical edge or borderdevices comprising a private network (e.g., routers and switches) andfrom virtual service providers scattered across the Internet, thedisclosed network and security operations platform facilitates unifyingnetwork and security control with near real-time coordination andsituational awareness from a single point, effectively creating asynthetic border for a private, enterprise network. With respect to FIG.1, for example, network and security operations platform 100 provides awholistic view into private enterprise network 102 as well as a definedsynthetic edge or border 104 of the network. More specifically, networkand security operations platform 100 comprises a central point forreceiving data from multiple physical and virtual nodes of network 102and comprehensively viewing the entire network 102 as well as analyzingreceived data and facilitating appropriate alerts and actions inresponse to detected network and security events.

A response by network and security operations platform 100 with respectto a particular node or device of network 102 may be quickly scaled tothe entire network. For example, network and security operationsplatform 100 may preemptively identify and remedy suspicious behavior atother nodes based on a detected security event at one of the networknodes. Moreover, since the services of network and security operationsplatform 100 are employed by several different private networks,security events detected and corrected on one network may in real-timebe prevented or corrected on one or more other networks that network andsecurity operations platform 100 monitors. That is, network and securityoperations platform 100 has a comprehensive view across multiple privatenetworks, and, thus, has the benefit of being able to more quickly andautomatically learn and identify similar events and patterns and respondwith appropriate actions.

In the environment of FIG. 1, network appliances (e.g., routers andswitches) and cloud services (e.g., VPC services) that define the edgeor border 104 of network 102 are configured to export data 106 usefulfor network and security operations to network and security operationsplatform 100. For example, data 106 may comprise lightweight protocolssuch as network flow data and (e.g., system and/or server) log data.More specifically, in some embodiments, data 106 comprises any data orinformation that defines network communications but that does not haveany payload or other sensitive (e.g., user-specific) information. Insome cases, data 106 comprises a substantially continuous stream of datafrom network 102. However, data 106 may comprise sampled data ratherthan full packet capture data. Moreover, data 106 may be compressedand/or encrypted. Data 106 may be communicated from private network 102to network and security operations platform 100 via a public networksuch as the Internet.

In some embodiments, network and security operations platform 100 isbased on network flow data. That is, data 106 comprises flow recordsexported by network devices such as routers and switches as well as VPCservices. Generally, a network flow refers to a communication channelbetween two end points or hosts bound by a session. More specifically, anetwork flow is defined as a unidirectional sequence of packets thatshare the same values for fields such as source IP address, destinationIP address, source port, destination port, protocol type, type ofservice (ToS), and/or ingress interface. That is, a flow specifies aprescribed communication channel for a particular session, and packetssharing the same values for at least a subset of the aforementionedfields belong to the same flow. Many network devices (e.g., routers andswitches) and cloud services (e.g., VPC services) are configured toextract measurements and data associated with a given flow and exportsuch data for further analysis. Such a flow record may include varioustypes of information including, for example, timestamps of the first andlast packets of the flow, total number of bytes and packets observed inthe flow, source/destination IP addresses, source/destination ports,protocol type, type of service (ToS) value, Transmission ControlProtocol (TCP) flags, routing information, I/O interface indexinformation, and other details. The precise information extracted from aflow varies by provider and depends on both the device or service thatgenerates the flow data as well as the protocol used to export theinformation.

Flow data has not been exploited much beyond its typical use for trafficengineering and routing. Flow data has been used in the past to detectDDoS attacks and trigger route changes to dedicated devices configuredto handle such attacks. The use of flow data in the security realm hasbeen limited largely because the data is sampled, i.e., the data isincomplete. However, despite being sampled, flow data can be leveragedfor a variety of purposes. In some embodiments, the disclosed networkand security operations platform 100 is configured to provide a fullrange of network and security services based on flow data. Morespecifically, network and security operations platform 100 is configuredto receive, process, and store flow data as well as leverage flow datafor network and security operations. Moreover, network and securityoperations platform 100 comprises a single, unified platform thatsupports a plurality of industry standard flow protocols, including, butnot limited to, Internet Protocol Flow Information Export (IPFIX),NetFlow, SFlow, JFlow, VPC Flow Logs, etc. The algorithms andcorresponding thresholds employed by network and security operationsplatform 100 may at least in part be based on the sampling rates ofreceived flow data since different network nodes may have differentsampling rates. Moreover, network and security operations platform 100may be configured to automatically adjust the sampling rates of the flowdata of nodes in network 102 via communication with the nodes or throughan associated API.

Returning back to the description of the network environment of FIG. 1,data 106 from network 102 may be received, for example, by one or moredistributed data collectors comprising network and security operationsplatform 100, such as data collector 108. Within network and securityoperations platform 100, received data 106 and/or parts thereof may beanalyzed for network and security events; indexed for searchability;optionally enriched or tagged with applicable metadata or tags such assecurity, business, and/or performance details; and/or stored in one ormore associated databases, such as database 110.

Various appropriate alerts or actions may be initiated or facilitated bynetwork and security operations platform 100 in response to inferencesmade from analyzing received data 106. Real-time and/or historicmonitoring and analysis of received data 106 may be performed by a setof one or more network and/or security algorithms 112. In variousembodiments, the set of algorithms 112 may comprise one or more systemalgorithms generally applied across all data input into network andsecurity operations platform 100, one or more algorithms customized fora prescribed enterprise network 102, one or more user-defined algorithmsspecified by operators 103 of network 102, or any combination thereof.Algorithms 112 are configured to identify network performance andsecurity events such as anomalies, failures, threats, attacks, etc., indata 106 and generate appropriate alerts. Alerts on any network orsecurity events detected by algorithms 112 are routed to one or moreappropriate rules engines, such as rules engine 114. Rules engine 114implements rules for responding to alerts generated by algorithms 112.That is, rules engine 114 facilitates one or more appropriate actions inresponse to detected network performance and/or security events byalgorithms 112. In various embodiments, events or alerts may be mappedby rules engine 114 to default actions, and/or custom, user-definableactions may be specified for various events or alerts by users ofnetwork and security operations platform 100, such as by operators 103of network 102. Examples of actions facilitated by rules engine 114include dropping or simply logging a detected event or generated alert,providing a corresponding alert or notification via one or morechannels, highlighting or providing another visual indication of adetected event or generated alert with respect to a graphical userinterface element or tool used to display related data, facilitatingroute changes (such as for active blocking) by communicating withaffected network nodes, etc. An output 116 generated by network andsecurity operations platform 100 may be directly communicated to one ormore applicable network nodes, may be made available and/or presentedvia a portal 118 of network and security operations platform 100associated with a prescribed user or network account, and/or may beintegrated via an associated API or plug-in with existing network toolsor services, such as security information and event management (STEM)services, Slack, Trilio, Webhook, e-mail, short message service (SMS),automated scripts, etc.

A key feature of network and security operations platform 100 isfacilitating dynamic and automatic route filtering, manipulation, and/ormodification via communication with network edge nodes based on detectednetwork and security events. From a security perspective, for example,this feature of network and security operations platform 100 may beemployed for automatically adjusting, changing, or reconfiguringsecurity policies, (VPC) security groups, access control lists (ACLs),etc., at one or more nodes of network 102 based on detected securitythreats and breaches. In some cases, output 116 comprises streamingreal-time filter information (e.g., IP addresses to block) to edge orborder nodes of network 102. Network and security operations platform100 may communicate with network nodes via any appropriate communicationprotocol, such as Border Gateway Protocol (BGP), Flowspec, APIs, etc.Such protocols for route control have typically only been used byoperators 103 of a given network 102 that are on the network 102.However, network and security operations platform 100 leverages remotetriggering of such protocols to provide a further layer of control andsecurity as well as to further automate network routing. For example,remote-triggering may be employed to inject a prescribed rule (e.g.,route) into a monitored network and force network nodes to drop alltraffic with a prescribed next-hop.

Network and security operations platform 100 effectively facilitates anew paradigm for network security by blocking intrusion events aposteriori, i.e., after they have been detected, compared to the typicalsecurity ethos of blocking a priori, i.e., before intrusions occur.Attempts to block malicious traffic before the traffic ever enters anetwork coupled with limitations in available computational resources atnetwork end points has resulted in severe scalability setbacks forexisting intrusion detection and prevention systems, especially as ruleand signature complexities have grown. Scalability has further beenlimited because such systems attempt to block all known malicioustraffic. However, reputation databases have become too large to becompletely incorporated in end point access control lists. Thus,existing systems suffer security vulnerabilities. Such vulnerabilitiesare addressed by the disclosed network and security operations platform100. Unprecedented scalability is feasible with the nearly limitlessavailability of processing and storage resources on the cloud but at theexpense of introducing a trivial amount of latency between detection andremediation of an event such as a breach or attack. However, such alatency typically spans a time duration (e.g., of a few seconds) duringwhich malicious activity is unable to detrimentally impact or otherwisesignificantly compromise the monitored network.

Thus, network and security operations platform 100 facilitatessignificantly more comprehensive security monitoring while havingrelatively limitless data processing and storage resource availabilityfor analyzing received data with respect to algorithms, rules,signatures, reputation databases, etc. Network and security operationsplatform 100 delivers security responses in nearly real-time. That is,post detection, malicious or potentially malicious traffic is blockedusing existing network infrastructure such as routers, switches, policygroups, DevOps calls to an associated API, etc. In some embodiments,network and security operations platform 100 only blocks bad ormalicious traffic that has been detected, so any generated filters orblock lists output by network and security operations platform 100 scaleeasily with respect to the capacities of access control lists of networknodes. This is in contrast to existing systems that attempt to block allknown bad or malicious traffic regardless of whether such traffic hasactually been seen on the network and as a result are limited by accesscontrol list capacities at network end points. In some embodiments, inorder to provide a failsafe against false positives, network andsecurity operations platform 100 is configured to block only individualIP address, i.e., single hosts, instead of large IP address blocksand/or to block only for prescribed (user-definable) time durations.Furthermore, network and security operations platform 100 provides anadditional layer of security on top of any existing security measuresalready deployed on the monitored network. Thus, any malicious trafficnot detected or not detected quickly enough may be detected by suchexisting security systems of the monitored network.

Each network monitored by network and security operations platform 100,such as network 102, has a prescribed user or network account withnetwork and security operations platform 100 and associated portal 118.Portal 118 provides a set of interfaces into network and securityoperations platform 100 via which various services associated withnetwork and security operations platform 100 may be selected, specified,and/or configured and via which data collected, processed, and stored bynetwork and security operations platform 100 may be aggregated,displayed or visualized (e.g., via charts and graphs), queried,analyzed, or otherwise accessed. A central point is provided by portal118 from which network operation teams, security operation teams, anddevelopers associated with network 102 can operate their network andsecurity posture. Portal 118 provides a customizable dashboard with userinterface elements and tools for identifying, processing, analyzing,displaying, and generally comprehending real-time and historicalinformation associated with monitored network 102. Furthermore, portal118 provides user interfaces for writing custom scripts or algorithms,specifying or configuring thresholds and rules, and defining alerts oractions for detected events. A unified portal 118 allows different teams(e.g., SOC, NOC, DevOps, and business leaders) to use the same data andtoolsets, resulting in reduced mean time to resolve detected network andsecurity events. Moreover, by leveraging an API associated with networkand security operations platform 100, different teams can apply uniquebusiness logic to their data to create actionable custom tools, forexample, for managing security threats, route management, billingsystems, etc.

In some embodiments, an easy-to-use, propriety query language isemployed to better unify network and security operations platform 100,portal 118, and associated APIs and plug-ins. The query languageassociated with network and security operations platform 100 may beemployed, for example, for tasks such as searching data, alerts, andinterfaces; filtering statistics and aggregations; defining customalgorithms to alert on; etc. As previously described, tags may be addedto received data records 106. Such tags are available for use withrespect to portal 118, an associated API, and the proprietary querylanguage. Software may be created around such simple tags/text.Leveraging tags throughout network and security operations platform 100is helpful for keeping terminology consistent and to resolve complexdata to human readable formats. Tags also allow for multi-tenantseparation of data. In addition, tags may be used to associatecustomers, departments, locations, etc., to an IP address, autonomoussystem number (ASN), etc.

As described, comprehensive network and security operations tools andservices are provided by network and security operations platform 100 aswell as its associated portal 118, APIs, and plug-ins. Although somefeatures have been described, the disclosed platform may generally beappropriately scaled and adjusted to provide any needed network and/orsecurity operations services.

FIG. 2 is a high level flow chart illustrating an embodiment of aprocess for automatically generating a network and/or security responsefor a monitored private network from an external service. Process 200may be employed, for example, by network and security operationsplatform 100 of FIG. 1.

At step 202, data is received from one or more nodes of a private,enterprise network. More specifically, data is received at step 202 by anetwork and security operations service that is external to the privatenetwork such as a distributed, cloud-based service such as network andsecurity operations platform 100 of FIG. 1. The received data maycomprise nearly continuous data streams transmitted by edge or bordernodes comprising the private network, such as routers, switches, cloudservices, etc. In some cases, the received data is sampled, anddifferent nodes of the private network may export data with differentsampling rates. In some embodiments, the received data compriseslightweight protocols that do not have any payload or other sensitiveinformation but rather basic information that specifies networkcommunications such as flow data and log data protocols.

At step 204, the data received at step 202 is processed and analyzed. Invarious embodiments, step 204 may include analyzing the data for networkperformance and/or security events, for example, using variousalgorithms and rules; generating alerts and notifications on the databased on associated thresholds; indexing the data for searchability;enriching or tagging the data with applicable metadata or tags; storingor persisting the data in databases; presenting and generally making thedata available with respect to an associated portal of the externalservice; etc.

At step 206, an output is automatically generated that facilitatesmodifying the routing performed by at least one or more nodes of theprivate network. For example, the output may be automatically generatedat step 206 in response to detecting a network performance or securityevent at step 204 and may be generated by a rules engine that isconfigured to map a detected event to an action according to one or morerules. In some embodiments, the output facilitates route filtering,manipulation, and/or modification in the private network or nodesthereof. For example, the output may comprise a routing filter or blocklist. The output generated at step 206 may be communicated to nodes ofthe private network via BGP, FlowSpec, or an API associated with theexternal service. In some embodiments, the generated output or anotification or other associated information thereof may additionally beautomatically made available via an associated portal of the externalservice and/or a third-party application with which the external serviceis integrated.

Process 200 may be employed to facilitate management and optimization ofthe private network as well as to defend the private network fromthreats and attacks. A nearly real-time and, in many cases, completelyautomatic response is generated as network and security events aredetected in received data.

FIG. 3 is a high level flow chart illustrating an embodiment of aprocess for automatically generating a security response for a monitoredprivate network from an external service. Process 300 may be employed,for example, by network and security operations platform 100 of FIG. 1.

At step 302, data is received from one or more nodes of a private,enterprise network. More specifically, data is received at step 302 by asecurity service that is external to the private network such as adistributed, cloud-based service such as network and security operationsplatform 100 of FIG. 1. In some cases, the security service comprises adistributed intrusion detection and prevention system. The received datamay comprise nearly continuous data streams transmitted by edge orborder nodes comprising the private network, such as routers, switches,cloud services, etc. In some cases, the received data is sampled, anddifferent nodes of the private network may export data with differentsampling rates. In some embodiments, the received data compriseslightweight protocols that do not have any payload or other sensitiveinformation but rather basic information that specifies networkcommunications such as flow data and log data protocols.

At step 304, the data received at step 302 is processed and analyzed. Invarious embodiments, step 304 may include analyzing the data forsecurity events using various algorithms and rules; generating alertsand notifications on the data based on associated thresholds; indexingthe data for searchability; enriching or tagging the data withapplicable metadata or tags; storing or persisting the data indatabases; presenting and generally making the data available withrespect to an associated portal of the external service; etc.

At step 306, a security event in the private network is detected fromanalyzing the data at step 304. For example, the security event may beassociated with a DDoS attack, bot or botnet, unauthorized dataextraction, port scan, enumeration attempt, repeated login, etc.

At step 308, an output is automatically generated in response todetecting the security event at step 306 that facilitates remediatingthe security event at least at one or more of the nodes of the privatenetwork. For example, the output may be automatically generated at step308 by a rules engine that is configured to map a detected securityevent to an action according to one or more rules. In some embodiments,a latency exists between the security event occurring on the privatenetwork and being remediated during which time an entity responsible forthe security event has access to the private network but, in most cases,not long enough to detrimentally affect or otherwise substantiallycompromise the network. In some embodiments, the output comprises arouting filter or block list. The output generated at step 308 may becommunicated to nodes of the private network via BGP, FlowSpec, or anAPI associated with the external service. In some embodiments, thegenerated output or a notification or other associated informationthereof may additionally be automatically made available via anassociated portal of the external service and/or a third-partyapplication with which the external service is integrated.

Process 300 may be employed to defend the private network from threatsand attacks. A nearly real-time and, in many cases, completely automaticresponse is generated as security events are detected in received data.In some embodiments, (IP address) blocking is only performed withrespect to threats or attacks that are actually detected so thatblocking does not extend beyond the (e.g., ACL) capacities andcapabilities of edge nodes. Moreover, blocking may be limited to singlehosts and/or prescribed time durations.

Various collaboration services exist for different teams and teammembers to communicate. For example, a group chat or team messagingapplication may be employed. When teams of people are tasked with agiven objective—whether it is monitoring performance, managinginfrastructure, implementing security, triaging issues, or generallyengaging in any type of analysis—a constant challenge is ensuring thatthe entire team is looking at the same dataset at the same time and thatteam members are aware in real-time of what other team members aredoing. In existing team messaging environments, people typicallyindividually collect data from different portals and then proceed todescribe the data under consideration via messages or shared screenshotsthrough the team messaging application and furthermore may alsoseparately email the data to various team members. Thus, such teamcommunications are typically inefficient, time consuming, and prone tomisunderstandings and error. The disclosed network and securityoperations platform helps overcome such challenges and facilitatesreducing incident resolution times as well as task completion times byproviding a unified platform for network operators, security operators,developers, as well as any other groups or teams associated withmanaging an enterprise network. Moreover, in some embodiments, thedisclosed network and security operations platform may be interfaced orintegrated as a command line interface in existing collaboration or teammessaging services.

FIG. 4 is a high level block diagram illustrating an embodiment ofinterfacing the disclosed network and security operations platform witha team messaging service. Network and security operations platform 400may comprise, for example, network and security operations platform 100of FIG. 1. A robot (bot) 402 representing network and securityoperations platform 400 provides an interface to network and securityoperations platform 400 in a chat or channel of a team messagingapplication or service 404 via which members of one or more teams 406communicate with each other. In some embodiments, all users 406 ofchannel 404 see everything happening on channel 404 at the same time andin real-time. Alternatively, in some embodiments, content of channel 404that is visible to a prescribed user 406 may be restricted according toassociated user permissions. In general, team messaging service 404 maycomprise any collaboration tool, application, or service. As oneexample, team messaging service 404 may comprise an application such asSlack. In some embodiments, network and security operations platform 400has a master channel or workspace with a team messaging service thatincludes a plurality of guest channels, and each user or client (i.e.,network) registered with network and security operations platform 400 isassigned a dedicated guest channel. Alternatively, a prescribed network(e.g., that is a user or client of network and security operationsplatform 400) may independently have a channel with a team messagingservice to which network and security operations platform 400 is addedas a user.

Bot 402 monitors activity on channel 404 as users 406 exchange messagesand participates in the channel conversation when applicable. Bot 402appears and behaves just like any other user 406 of channel 404.However, bot 402 furthermore integrates into channel 404 a command lineinterface to network and security operations platform 400. Morespecifically, bot 402 facilitates in making channel 404 a command lineinterface into network and security operations platform 400. The commandline interface specifically comprises a collaborative command lineinterface (CCLI). A traditional command line interface is a one-to-one(i.e., one person to one user session) interface. In contrast, thedisclosed collaborative command line interface is a many-to-one (i.e., agroup of people to one user session, e.g., of network and securityoperations platform 400) interface. Thus, the collaborative command lineinterface comprises a mechanism for interacting with a service or groupof services (e.g., network and security operations platform 400) by manypeople in a shared manner. Moreover, traditional command line interfacesare completely text-based. In contrast, the disclosed collaborativecommand line interface supports outputting of any multi-media content(e.g., images, audio, video, etc.) supported by the service 404 intowhich it is integrated.

Various commands are supported by the disclosed collaborative commandline interface. That is, bot 402 provides a prescribed set of servicesin response to corresponding commands. More specifically, bot 402 isconfigured to recognize associated commands (e.g., based on anidentifying character such as a bang (!) that, for instance, prefixesthe commands), initiate one or more appropriate actions in response tothe commands with respect to network and security operations platform400, and provide appropriate responses in channel 404. A user 406 canissue a command in real-time, and other users 406 can see both theissued command and the result of the command in real-time. Thus, thedisclosed collaborative command line interface essentially comprises arobot 402 that listens for commands on channel 404, acts on thosecommands by interacting with various applicable components of theinfrastructure of network and security operations platform 400 on behalfof the users issuing them, and presents results back into the channel404 from which the commands were received. The command line interfacecommunications with bot 402 in channel 404 are in-band, with bot 402detecting and responding to commands addressed to bot 402 in-line as ifit were another user on channel 404. In contrast, for instance, slashcommands in a service like Slack are out-of-band since the commands aretransmitted outside of Slack for fulfillment.

One example of an embodiment of a process that may be employed by bot402 comprises the steps of receiving a message, performing a securitycheck (e.g., a permission level check of the user that posted themessage), determining validity of a command comprising the message,executing the command, and outputting or displaying the result on thecommand line interface in response to the posted message or command.

In some embodiments, communications with bot 402 in channel 404 are notlimited to just prescribed commands, but bot 402 may also be directlymessaged just like any other user on the channel, with bot 402initiating appropriate actions or responding with applicable data. Inaddition to being directly or indirectly invoked, bot 402 may also beconfigured to infer the needs of the current conversation on channel 404and post appropriate data, initiate appropriate actions, and/or informand facilitate involvement of human operators of network and securityoperations platform 400 to address automatically identified issues orconcerns in channel 404. In some embodiments, bot 402 may provide otherfeatures such as identifying and isolating a discussion of a prescribedmatter and ticketing it with a reference number so that it can be laterreferenced, searched, and/or retrieved from the messaging history. Insome embodiments, bot 402 may be configured for natural languagecommunication, e.g., to help with support on channel 404.

FIG. 5 illustrates example collaborative command line interfaceinteractions in a channel. As depicted, a bot appears as a user (‘ccli’)in the channel and communicates and responds to commands in-band in thecommand line interface comprising the channel. Bot commands are prefixedby a bang (i.e., exclamation mark). The bot responds to a command withappropriate data or actions. In the given example, a chart (i.e., animage of a requested chart) is returned by the bot in response to acommand requesting a chart of prescribed data from a user (‘danm’) onthe channel, and a list of all available commands with respect to thecommand line interface is provided by the bot in response to a ‘!help’command by the same user.

FIG. 6 is a high level flow chart illustrating an embodiment of aprocess for integrating or interfacing a prescribed service employed byan entity in a collaboration service channel associated with the entity.In some embodiments, the prescribed service comprises a distributedroute filtering and manipulation service that facilitates managing andoptimizing a private network comprising the entity and/or defending theprivate network from security threats and attacks. As one example, theprescribed service comprises the disclosed network and securityoperations platform (e.g., network and security operations platform 100of FIG. 1 or network and security operations platform 400 of FIG. 4),the entity comprises a private network (e.g., enterprise network 102 ofFIG. 1), and the collaboration service channel comprises a channel of ateam messaging application such as Slack that is associated with theprivate network.

At step 602, a robot (bot) representing the prescribed service isconfigured and included or added as a user in the collaboration servicechannel. The bot appears and behaves like any other user on thecollaboration service channel. However, the bot additionally facilitatesin making the collaboration service channel a command line interfacethat interfaces with the prescribed service. The command line interfacecomprises a collaborative command line interface that interfaces aplurality of users on the collaboration service channel to theprescribed service. Command line interface communications with the botare in-band or in-line in the collaboration service channel. The commandline interface supports output of multi-media content.

At step 604, a command associated with the command line interface thatis received on the collaboration service channel is responded to with aresponse from the prescribed service. The response may comprise anaction performed by the prescribed service and/or posting of datareceived from the prescribed service in the command line interfacecomprising the collaboration service channel. For example, the responsemay comprise a network or security operations response by the prescribedservice with respect to the private network comprising the entity aswell as a corresponding alert or notification in the command lineinterface comprising the collaboration service channel.

In some embodiments, different users of the collaboration servicechannel may have different permissions with respect to actions and/ordata of the prescribed service. In such cases, user permissions may beverified prior to a response being generated by the prescribed service,and a response may be denied if the right permissions for a command orassociated data are not held by a user issuing the command. In someembodiments, the command line interface is read-only and hence purelyinformational. In some embodiments, the command line interfacefurthermore supports write commands into the prescribed service. Aseparate user authentication step (e.g., with respect to the prescribedservice) may need to be completed prior to execution of a write command.

Although the foregoing embodiments have been described in some detailfor purposes of clarity of understanding, the invention is not limitedto the details provided. There are many alternative ways of implementingthe invention. The disclosed embodiments are illustrative and notrestrictive.

What is claimed is:
 1. A method, comprising: receiving data from nodesof a private network at a service external to the private network;analyzing the received data; and automatically generating an output inresponse to analyzing the data that facilitates modifying routing by atleast one or more of the nodes of the private network.
 2. The method ofclaim 1, wherein the data comprises a data stream.
 3. The method ofclaim 1, wherein the data comprises sampled data.
 4. The method of claim1, wherein the data comprises flow data.
 5. The method of claim 1,wherein the data comprises log data.
 6. The method of claim 1, whereinthe nodes of the private network comprise edge or border nodes of theprivate network.
 7. The method of claim 1, wherein the nodes of theprivate network comprise one or more is of routers, switches, and cloudservices.
 8. The method of claim 1, wherein the service provides networkand security operations for the private network.
 9. The method of claim1, wherein the service facilitates managing and optimizing the privatenetwork.
 10. The method of claim 1, wherein the service facilitatesdefending the private network from threats and attacks.
 11. The methodof claim 1, further comprising tagging the data.
 12. The method of claim1, further comprising storing the data.
 13. The method of claim 1,wherein analyzing the received data comprises detecting a as networkperformance or security event.
 14. The method of claim 1, wherein theoutput is generated by a rules engine of the service that is configuredto map a detected event to an action.
 15. The method of claim 1, whereinthe output comprises a routing filter or block list.
 16. The method ofclaim 1, wherein the output is communicated to the at least one or morenodes of the private network via Border Gateway Protocol (BGP) orFlowSpec.
 17. The method of claim 1, wherein the output is communicatedto the at least one or more nodes of the private network via anapplication programming interface (API) associated with the service. 18.The method of claim 1, further comprising providing a portal to theservice that is accessible to an operator of the private network.
 19. Asystem, comprising: a processor configured to: receive data from nodesof a private network, wherein the processor is associated with a serviceexternal to the private network; analyze the received data; andautomatically generate an output in response to analyzing the data thatfacilitates modifying routing by at least one or more of the nodes ofthe private network; and a memory coupled to the processor andconfigured to provide the processor with instructions.
 20. A computerprogram product embodied in a non-transitory computer readable storagemedium and comprising computer instructions for: receiving data fromnodes of a private network, wherein the computer program product isassociated with a service external to the private network; analyzing thereceived data; and automatically generating an output in response toanalyzing the data that facilitates modifying routing by at least one ormore of the nodes of the private network.